<?php

require_once("View/UserView.php");
require_once("Model/UserHandler.php");
require_once("Model/LoginHandler.php");


class UserController 
{
	public function DoControll(Database $db, LoginHandler $lh)
	{
		$uv = new UserView();
		$uh = new UserHandler($db);
		$ret = NULL;
		
		//Om användaren är utloggad..
		if($lh->IsLoggedIn() == FALSE)
		{
			//.. rendera ut registreringsformuläret	
			$ret = $uv->RenderHeader(UserView::REGISTER_CTRL_HEADER);				
			$ret .= $uv->RenderRegForm();			
		
			//Om användaren försöker registrera sig..
			if($uv->TriedToRegister() == TRUE)
			{
				//..valideras de inskrivna uppgifterna.
				$validate = $uh->ValidateUserInfo(
							$uv->GetUserName(),
							$uv->GetPassword(),
							$uv->GetRepeatedPassword());
					
				//Om valideringen retunerar fel retuneras dessa.
				if(empty($validate) == FALSE)
				{
					$ret .= $uv->RenderErrorArray($validate);
					
					return $ret;
				}	
				//Om angivet namn är upptaget retuneras felmeddelande		
				else if($uh->UserDoesExist($uv->GetUserName()) == TRUE)
				{
					$ret .= $uv->RenderMessage(UserView::ERROR_USER_EXISTS);
					return $ret;
				}
				//Lägger till användaren till i databasen.
				else
				{
					$uh->AddUser($uv->GetUserName(), $uv->GetPassword());
					$ret .= $uv->RenderMessage(UserView::USER_ADDED_SUCCESS);
				}
								
			}
		
		}
		
		return $ret;
	}		
	
}

?>